def internal_1():
  """ C1. Internal call DN1 to DN2, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.ReleaseCall()

def internal_2():
  """ C2. Internal call DN1 to DN3, abnormal release DN1"""
  DN1.MakeCall(DN3)
  DN1.ReleaseCall()

def internal_3():
  """ C12. Internal call DN1 to  DN2, two step transfer to DN3, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN2.CompleteTransfer()
  DN3.ReleaseCall()

def internal_4():
  """ C13. Internal call DN1 to  DN2, tinit to DN3, abnormal release DN2, rel DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN2.ReleaseCall()
  DN1.ReleaseCall()

def internal_5():
  """ C14. Internal call DN1 to  DN2, tinit to DN3, rel DN1, DN3 ans, DN2 rel"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN1.ReleaseCall()

def internal_6():
  """ C15. Internal call DN1 to DN2, two step transfer to DN3, compl bef consul party answer"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN2.CompleteTransfer()
  DN3.AnswerCall()
  DN1.ReleaseCall()

def internal_7():
  """ C16. Internal call, two step transfer to DN3, completed before consul party answer, abnor"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN2.CompleteTransfer()
  DN1.ReleaseCall()

def internal_8():
  """ C35. Internal call DN1 to DN2, Internal conference to DN3, release DN1, DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(DN3)
  DN3.AnswerCall()
  DN2.CompleteConference()
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def internal_9():
  """ C36. Internal call DN1 to DN2, DN2 cinit conference to DN3, abnorl release DN2, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateConference(DN3)
  DN2.ReleaseCall()
  DN1.ReleaseCall()

def internal_10():
  """ C45. Internal call DN1 to DN2, mute transfer to DN3, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.MuteTransfer(DN3)
  DN3.AnswerCall()
  DN1.ReleaseCall()

def internal_11():
  """ C48. Internal call DN1 to DN2, mute transfer to DN3, abnormal release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.MuteTransfer(DN3)
  DN1.ReleaseCall()

def internal_12():
  """CR1. DN1 call to DN2, DN1 transfer to DN3, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN1.CompleteTransfer()
  DN3.ReleaseCall()

def internal_13():
  """CR2. DN1 call to DN2, DN1 tinit to DN3, abn release DN1, release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateTransfer(DN3)
  DN1.ReleaseCall()         #works as complete transfer
  DN2.ReleaseCall()

def internal_14():
  """CR3. DN1 call to DN2, DN1 tinit to DN3, rel DN2, """
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateTransfer(DN3)
  DN2.ReleaseCall()


def internal_15():
  """CR6. DN1 call to DN2, DN1 blind to DN3, release DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateTransfer(DN3)
  DN1.CompleteTransfer()
  DN3.AnswerCall()
  DN3.ReleaseCall()

def internal_16():
  """CR7. DN1 call to DN2, DN1 blind  to DN3,abn release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateTransfer(DN3)
  DN1.CompleteTransfer()
  DN2.ReleaseCall()

def internal_17():
  """CR35. DN1 call to DN2, DN1 conference to DN3, release DN1, DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateConference(DN3)
  DN3.AnswerCall()
  DN1.CompleteConference()
  DN1.ReleaseCall()
  DN3.ReleaseCall()

def internal_18():
  """CR36. DN1 call to DN2, DN1 cinit to DN3, abnormal release DN1, release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateConference(DN3)
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def internal_19():
  """CR37. DN1 call to DN2, DN1 cinit to DN3, release DN1, release DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateConference(DN3)
  DN3.AnswerCall()
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def internal_20():
  """CR38. DN1 call to DN2, DN1 cinit to DN3, release DN2, release DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateConference(DN3)
  DN3.AnswerCall()
  DN2.ReleaseCall()
  DN1.ReleaseCall()

def internal_21():
  """CR39. DN1 call to DN2, DN1 conference to DN3, release DN1, DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateConference(DN3)
  DN3.AnswerCall()
  DN1.CompleteConference()
  DN1.ReleaseCall()
  DN2.ReleaseCall()

def internal_22():
  """CR40. DN1 call to DN2, DN1 conference to DN3, release DN2, DN1"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.InitiateConference(DN3)
  DN3.AnswerCall()
  DN1.CompleteConference()
  DN2.ReleaseCall()
  DN1.ReleaseCall()

def internal_23():
  """CR59. DN1 call to DN2, DN1 mute transfer to DN3, release  DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.MuteTransfer(DN3)
  DN3.AnswerCall()
  DN2.ReleaseCall()
 
def internal_24():
  """CR60. DN1 call to DN2, DN1 mute transfer to DN3, release  DN3"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.MuteTransfer(DN3)
  DN3.AnswerCall()
  DN3.ReleaseCall()

def internal_25():
  """CR61. DN1 call to DN2, DN1 mute transfer to DN3, abnormal release  DN2"""
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN1.MuteTransfer(DN3)
  DN2.ReleaseCall()

def enable_retrieve_on_release_true():
  LocalTserver.cfgApp.ChangeOption("Tserver", "enable-retrieve-on-release", "true")
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN3.ReleaseCall() 
  DN1.ReleaseCall()



def enable_retrieve_on_release_true1():
  LocalTserver.cfgApp.ChangeOption("Tserver", "enable-retrieve-on-release", "true")
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN1.ReleaseCall() 


def enable_retrieve_on_release_false():
  LocalTserver.cfgApp.ChangeOption("Tserver", "enable-retrieve-on-release", "false")
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN3.AnswerCall()
  DN3.ReleaseCall() 
  DN1.ReleaseCall()

def enable_retrieve_on_release_false1():
  LocalTserver.cfgApp.ChangeOption("Tserver", "enable-retrieve-on-release", "false")
  DN1.MakeCall(DN2)
  DN2.AnswerCall()
  DN2.InitiateTransfer(DN3)
  DN1.ReleaseCall()
